home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / tools / desktop / menu101 / menu.stg < prev    next >
Encoding:
Text File  |  1995-11-25  |  42.3 KB  |  1,280 lines

  1. ##ACE-STGPAR 4 0758 
  2. @database "Doku: MENU/Programmstarter"
  3. @author "Holger Weets/Rainer Wiesenfeller"
  4. @$VER: menu.hyp 1.01 (@:"__DATE__")
  5. @subject "Dokumentation/Utilities"
  6. @options "+z-s-j-d12"
  7.  
  8. @node main "MENU - Der Programmschnellstarter"
  9. @{B}@{"MENU - Der Programmschnellstarter" ignore} @{0}
  10. @line 1 75 0 0 7
  11.  
  12. @limage TITLE.IMG 25  0 0
  13.  
  14. Immer wieder stellt sich die Frage, wie man der ganzen Icon-Flut Herr
  15. wird, die sich da im Laufe der Zeit auf dem Desktop anhäuft. Immer
  16. wieder sieht man verzweifelte Computerbesitzer vor ihrem Monitor
  17. sitzen, und vor lauter Übersichtlichkeit stundenlang nach einem
  18. verlorengegangen Programmicon suchen, und somit wichtige Zeit
  19. verlieren, die man besser damit verbringen könnte, andere wichtige
  20. Dinge zu tun ... (1)
  21.  
  22. @limage SCHLUSS.IMG 1 0 0
  23. Denn jetzt gibt es MENU, den universellen Programmschnellstarter!
  24.  
  25. Damit haben Sie anstatt unzähliger Icons nur noch @{B}ein@{0} Fenster
  26. auf dem Desktop, aus dem heraus Sie Popups mit Icons (oder Text oder
  27. Buttons) öffnen können, über die Sie schnell an die von Ihnen
  28. benutzten Programme kommen!
  29. Das spart Platz, ist übersichtlicher (weil man die Popups nach
  30. Programmtyp sortieren kann, also eins für Editoren, eins für
  31. Viewer etc.). Selbstverständlich mit Drag & Drop, sogar innerhalb der
  32. Popups, bei voller Unterstützung durch den AV-Server.
  33.  
  34. Sie sind interessiert? @{"Bleiben Sie dran" link Inhalt}
  35. @endnode
  36.  
  37. @pnode "(1)"
  38. Ihnen wird schon etwas
  39. passendes einfallen! :-)
  40. @endnode
  41.  
  42. @node "Inhalt"
  43. @{B}@{"Inhalt" ignore} @{0}
  44. @line 1 75 0 0 7
  45.  
  46. Voraussetzungen
  47. Installation
  48.  
  49. Das MENU-Fenster
  50. Tastatur
  51. MENU.RSC
  52. MENU.MNU
  53. Die Popup Menues
  54.     Die Ausrichtung der Popups
  55. Drag&Drop
  56.  
  57. Fairware
  58. Update-History
  59. Danke
  60. @endnode
  61.  
  62. @node Voraussetzungen "Die Speisekarte, bitte!"
  63. @{B}@{"Die Speisekarte, bitte!" ignore} @{0}
  64. @line 1 75 0 0 7
  65.  
  66. Vor die sinnvolle Benutzung dieses Programmes hat der Programmierer ein
  67. paar Hürden gestellt, die zunächst genommen werden müssen:
  68.  
  69.  · Ein MTasking Betriebssystem wie @{MagiC link ASH} oder MTOS muß vorhanden sein
  70.    und laufen, damit MENU seinem Zweck zugeführt werden kann.
  71.  
  72.  · Ein das @{"AV-Protokoll beherrschender Desktop" link Desktops} sollte ebenfalls laufen
  73.    und über die Environment-Variable AVSERVER systemweit bekannt sein,
  74.    da MENU diesem Server das eigentliche Starten der Programme überläßt,
  75.    damit nicht alle Konfigurationen zweimal vorgenommen werden müssen;
  76.    Ein solcher Desktop sollte in jeder gut sortierten Mailbox zu finden
  77.    sein, empfehlenswert sind hier insbesondere Thing und Gemini, mit
  78.    @{U}einigen@{0} Einschränkungen auch Ease.
  79.  
  80.    Bei entsprechender Resonanz könnte ich mich allerdings dazu überreden
  81.    lassen, diesen Punkt mal zu ändern und MENU die Programme selber
  82.    starten zu lassen.
  83.  
  84.  · Desweiteren sollte man einen RSC-Editor besitzen, um sich ein
  85.    passendes Menue auch erstellen zu können; ein solcher sollte in jeder
  86.    gut sortierten Mailbox zu finden sein, so liegt z.B. der ORCS (14) in
  87.    der MAUS OL zum Download bereit.
  88.  
  89.  · Als weiteres Hilfsmittel wird ein handelsüblicher ASCII-Editor
  90.    benötigt, um die MENU.MNU Datei an die örtlichen Gegenbenheiten
  91.    anzupassen, auch ein solches Programm wird sich in jeder Mailbox
  92.    finden, stellvertretend seien hier QED und EVEREST genannt.
  93. @endnode
  94.  
  95. @node Fairware
  96. @{B}@{"Fairware" ignore} @{0}
  97. @line 1 75 0 0 7
  98.  
  99. Um wirklich alle Features von MENU nutzen zu können, ist eine kleine
  100. Spende an den Autor zu entrichten, es steht dann folgendes @{B}zusätzlich@{0}
  101. zur Verfügung:
  102. · die Ausrichtung der Popups ist einstellbar
  103. · die Analog-Uhr kann genutzt werden
  104. · der freie Speicher kann dargestellt werden
  105. · Zeitgesteuerte Ausführung ist möglich
  106. · Position zu öffnender Fenster ist definierbar
  107.  
  108. @symbol i Adresse Autor
  109. Meine Adresse:
  110.     Holger Weets
  111.     Tangastr. 45
  112.     26121 Oldenburg
  113.  
  114. Bankverbindung:
  115.     Konto: 023-182 041
  116.     BLZ:   280 501 00
  117.     Landessparkasse zu Oldenburg
  118. @endnode
  119.  
  120. @node Installation
  121. @{B}@{"Installation" ignore} @{0}
  122. @line 1 75 0 0 7
  123.  
  124. Am sichersten ist es, MENU als Autostart-Applikation im Desktop
  125. anzumelden, da dieser dann beim Start von MENU bereits läuft und somit
  126. sicher gefunden wird.
  127.  
  128. Falls noch nicht geschehen (15), sollte jetzt die Environment-Variable
  129. AVSERVER gesetzt werden (zumindest unter MTOS ist dies unbedingt
  130. erforderlich!)
  131.  
  132. Unter MagiC kann MENU aber auch einfach in den APPs Ordner kopiert
  133. werden, sofern der verwendete Desktop gleichzeitig der AV Server ist
  134. (was eigentlich immer zutrifft).
  135.  
  136. Ins gleiche Verzeichnis wie MENU werden nun noch die Dateien MENU.MNU
  137. und MENU.RSC kopiert, und schon ist die Installation erledigt.
  138.  
  139. Für Experten:
  140. · MENU.MNU wird per shel_find gesucht, kann sich also in jedem beliebigen
  141.   Ordner befinden, der in der Environment-Variablen PATH aufgezählt ist
  142. · gleiches gilt für die zugehörige RSC-Datei
  143. @endnode
  144.  
  145.  
  146. @pnode "AVSERVER"
  147. Wenn Sie mit MagiC arbeiten, dann können Sie
  148. das in der MAGIX.INF anmelden mit der folgenden
  149. Zeile:
  150. #_ENV AVSERVER=THING
  151. @endnode
  152.  
  153. @pnode (14)
  154. ...nein, ich benutze ORCS selber nicht.
  155. (Holger)
  156. @endnode
  157.  
  158. @pnode (15)
  159. ...dann wird es aber
  160. allerhöchste Zeit!
  161. @endnode
  162.  
  163. @node "ASH"
  164. @{B}@{"ASH" ignore} @{0}
  165. @line 1 75 0 0 7
  166.  
  167. MagiC erhalten Sie bei
  168.  
  169. Application Systems Heidelberg GmbH
  170. Postfach 102 646
  171. D-69016 Heidelberg
  172.  
  173. Telefon:  06221/300002
  174. Telefax:  06221/300389
  175. Modem     06221/303671
  176. eMail:    Volker Ritzhaupt @ KA2
  177.           Oliver Buchmann @ KA2
  178.           100067,3712 (Compuserve-ID)
  179.           100067.3712@compuserve.com
  180.  
  181. MTOS bei Ihrem Atari-Händler.
  182. @endnode
  183.  
  184. @node "Desktops" "Desktops, die das AV-Protokoll beherrschen"
  185. @{B}@{"Desktops, die das AV-Protokoll beherrschen" ignore} @{0}
  186. @line 1 75 0 0 7
  187.  
  188. Zu empfehlen wären hier THING, mit kleineren Abstrichen Gemini oder
  189. eingeschränkt EASE. Die ersten beiden sind Shareware-Produkte und
  190. Sie erhalten Sie entweder in einer Mailbox oder bei Ihrem Atari-
  191. Fachhändler.
  192. Falls das alles nichts fruchten sollte, können Sie auch die Autoren
  193. direkt anschreiben:
  194.  
  195. @{U}Für Gemini:@{0}
  196.  
  197. Autor    : Stefan Eissing
  198.  Download: AC  MAUS Aachen
  199.  
  200.       Typ: Benutzeroberfläche
  201. Copyright: Shareware-Vollversion
  202.  
  203.  
  204. @{U}Für THING:@{0}
  205.  
  206. Autor(en): Arno Welzel
  207.  Download: OL  MAUS Oldenburg
  208.    Archiv: thin059d.lzh
  209.     Länge:     298.475 Bytes
  210.  
  211.       Typ: Benutzeroberfläche
  212. Copyright: Shareware
  213.  
  214.  
  215. @{U}Für EASE:@{0}
  216.  
  217. Application Systems Heidelberg GmbH
  218. Postfach 102 646
  219. D-69016 Heidelberg
  220.  
  221. Telefon:  06221/300002
  222. Telefax:  06221/300389
  223. Modem     06221/303671
  224. eMail:    Volker Ritzhaupt @ KA2
  225.           Oliver Buchmann @ KA2
  226.           100067,3712 (Compuserve-ID)
  227.           100067.3712@compuserve.com
  228. @endnode
  229.  
  230. @node "Das MENU-Fenster" "Kann hier bitte mal jemand ein Fenster öffnen?"
  231. @{B}@{"Kann hier bitte mal jemand ein Fenster öffnen?" ignore} @{0}
  232. @line 1 75 0 0 7
  233.  
  234. Direkt beim Start öffnet MENU ein bewegliches Fenster fester Größe mit
  235. folgenden Eigenschaften:
  236.  
  237. Es ist auch hintenliegend benutzbar, d.h. Klicks auf Objekte führen die
  238. entsprechende Aktion aus, anstatt das Fenster nach vorne zu bringen.
  239.  
  240. Um es nach vorne zu holen, kann entweder die offizielle Methode, also
  241. ein Klick auf den Fenstertitel erfolgen, oder ein Klick mit der rechten
  242. Maustaste irgendwo in das Innere des Fensters; außerdem wird es nach
  243. vorne geholt, wenn ein Klick auf eine "leere Stelle" im Fenster er-
  244. folgt, an eine Position also, an der sich kein Objekt befindet.
  245.  
  246. Dargestellt wird der erste Baum aus der Datei MENU.RSC (bzw. der durch
  247. <MENU.Default> festgelegte), natürlich paßt sich das Fenster der Größe
  248. dieses Baumes automatisch an.
  249. @endnode
  250.  
  251. @node "Tastatur" "Haben Sie noch alle Tasten im Schrank?"
  252. @{B}@{"Haben Sie noch alle Tasten im Schrank?" ignore} @{0}
  253. @line 1 75 0 0 7
  254.  
  255. Wird eine Taste(nkombination) gedrückt, wenn ein MENU-Fenster vorne
  256. liegt, so wird folgendermaßen (in der angegebenen Reihenfolge)
  257. verfahren:
  258.  
  259. @{B}Nachfolgende folgende Shortcuts sind fest belegt und werden
  260. direkt ausgeführt:@{0}
  261.  
  262.    - CTRL-U   MENU beenden
  263.    - CTRL-Q   MENU beenden
  264.    - CTRL-S   Fensterkoordinaten speichern
  265.    - Help     Onlinehilfe zeigen, falls ST-Guide installiert ist
  266.    - Undo     Defaultbaum im obersten Fenster zeigen
  267.               (praktisch nach ALT-Klicks und '/thiswind' Methoden)
  268.  
  269. @{B}Belegung per MENU.MNU:@{0}
  270.  
  271.    aus den gedrückten Tasten wird folgendermaßen ein Name erstellt:
  272.    - Beginn mit "KEY-"
  273.    - gefolgt von "C-", falls die Control-Taste gedrückt ist
  274.    - gefolgt von "A-", falls die Alternate-Taste gedrückt ist
  275.    - gefolgt von "S-", falls eine der Shift-Tasten gedrückt ist
  276.    - gefolgt von dem Zeichen, daß ohne Umschalttasten bei eingeschaltetem
  277.      CAPS LOCK in einem Editor erscheinen würde, wenn die Taste gedrückt
  278.      wird
  279.  
  280. Die Konsequenz dieses Vorgehens ist, daß die Sondertasten (Delete, F1,
  281. Return etc.) nicht belegt werden können, was aber verschmerzbar sein
  282. sollte.
  283.  
  284.    Beispiele:
  285.    * aus CTRL-E wird        "KEY-C-E"
  286.    * aus SHIFT-CTRL-A wird  "KEY-C-S-A"
  287.  
  288. Der so erstellte Name wird in der Datei MENU.MNU gesucht und im
  289. Erfolgsfall wird das dafür angegebene Kommando ausgeführt.
  290.  
  291.    Beispiel:
  292.    KEY-C:      C:\CAT\CAT.PRG   Dieser Eintrag startet bei aktivem
  293.                                 MENU-Fenster das Programm CAT bei
  294.                                 einem Tastendruck auf die Taste "c".
  295.  
  296. Alle anderen Tastendrücke werden an den laufenden AV-Server weitergegeben.
  297. Aus diesem Grund sollten Shortcuts wie z.B. CTRL-W, Alt-A...Z etc.
  298. nach Möglichkeit nicht belegt werden, da diese im Desktop sicher
  299. größeren Nutzen haben, als in MENU.
  300. @endnode
  301.  
  302. @pnode "(11)"
  303. ...aber mit Methode!
  304. @endnode
  305.  
  306. @pnode "(12)"
  307. Leider darf man nur drei Buchstaben
  308. als Extender vergeben, sonst hätte
  309. sie bestimmt MENU.MENU geheißen.
  310. @endnode
  311.  
  312. @pnode "(13)"
  313. Damit sind wiederum die Buttons, Icons,
  314. Texte und Strings gemeint, die Sie im
  315. RSC-Editor eingebaut haben.
  316. @endnode
  317.  
  318. @node "MENU.MNU" "Kann ich mal die Speisekarte haben, Herr Ober?"
  319. @{B}@{"Kann ich mal die Speisekarte haben, Herr Ober?" ignore} @{0}
  320. @line 1 75 0 0 7
  321.  
  322. Nachdem Sie nun Blut und Wasser geschwitzt haben, sich endlich ein
  323. MENU.RSC zusammenzubasteln, geht der Wahnsinn weiter ... (11)
  324.  
  325. Damit MENU nun auch richtig funktionieren kann, benötigt es einige
  326. Anweisungen, welche Programme denn nun zu den von Ihnen in der
  327. RSC-Datei angelegten Buttons, Icons und Strings etc. gehören.
  328.  
  329. Dazu gibt's die Datei MENU.MNU (12).
  330.  
  331. Diese Datei ist vom Typ ASCII, kann also mit jedem handelsüblichen
  332. Editor bearbeitet werden.
  333.  
  334. Sie ist quasi das Kernstück des Systemes, da hier sowohl die Ver-
  335. bindungen der Objekte zu den Popups als auch die eigentlichen
  336. Aktionen bei Auswahl eines Objektes definiert werden
  337.  
  338. Der grundsätzliche Aufbau
  339. Vordefinierte Namen
  340.  
  341. Was sollte man sonst noch wissen?
  342. @endnode
  343.  
  344. @node "Der grundsätzliche Aufbau"
  345. @{B}@{"Der grundsätzliche Aufbau" ignore} @{0}
  346. @line 1 75 0 0 7
  347.  
  348. @symbol ar "Der grundsätzliche Aufbau einer MENU.MNU"
  349.  
  350.                                                           Beispieldatei
  351.  
  352. Der grundsätzliche Aufbau dieser Datei ist folgender
  353. (bitte beachten Sie die Beispielzeilen und die Beispieldatei!):
  354.  
  355.  
  356.                     <name>: <Methode>
  357.  
  358. wobei <name> der einem gewählten Objekt (13) zugeordnete String ist, und
  359. direkt von einem ':' gefolgt werden muß, damit er erkannt wird; dem
  360. ':' kann aktuell folgendes nachgestellt werden:
  361.  
  362.    - beliebig viele Leerzeichen und Tabs
  363.      (für die Übersicht)
  364.  
  365.    - ein vollständiger Pfad zu einer Datei, optional gefolgt von einer
  366.      Parameterzeile
  367.  
  368. Beispielzeile:      ST-Guide.inf editieren: C:\BIN\QED.APP C:\ST-GUIDE.INF
  369.  
  370.      würde direkt ausgeführt werden, es wird also der Editor QED gestartet
  371.      und lädt die Datei ST-GUIDE.INF.
  372.      (-> Parameterzeilen-Expandierung)
  373.  
  374.    - ein vollständiger Pfad zu einem Verzeichnis, abgeschlossen mit einem
  375.      Backslash, optional gefolgt von einem Pattern
  376.  
  377. Beispielzeile:      C:\CAT\MFF\ *.LST
  378.  
  379.      würde den Desktop ein Fenster mit dem angegebenen Pfad öffnen und
  380.      alle darin enthaltenen auf das Pattern passenden Dateien anzeigen;
  381.      falls kein Pattern angegeben wird, so übergibt MENU "*.*"
  382.  
  383. @symbol ai "'$' Ersetzung"
  384.    - ein Dollarzeichen ("$") gefolgt von einer Zeichenkette, diese wird
  385.      von MENU als Name (also quasi in der ersten Spalte der Tabelle)
  386.      gesucht, und der zugeordnete Wert dann für $<name> eingesetzt;
  387.  
  388. Beispiel:       KEY-C:  $CAT
  389.                 ...
  390.                 CAT:    C:\CAT\CAT.PRG
  391.                 OL:     $'CAT' C:\CAT\OL.INF
  392.  
  393.      würde expandiert zu "KEY-C: C:\CAT\CAT.PRG"
  394.      und                 "OL: C:\CAT\CAT.PRG C:\CAT\OL.INF"
  395.  
  396.      Wie am Beispiel "OL" zu sehen ist, kann die zu findende Ersetzung in
  397.      Hochkommata eingeschlossen werden, wenn ihr Parameter folgen sollen.
  398.      Würden die Hochkommata fehlen, so würde MENU nach einer Definition
  399.      für "CAT C:\CAT\OL.INF" suchen.
  400.  
  401.      Sinn und Zweck der Übung ist es, a) weniger schreiben zu müssen und
  402.      b) bei Pfadänderungen jeweils nur eine Zeile anpassen zu müssen, weil
  403.      eben alle anderen auf diese verweisen.
  404.  
  405. Die weitere Befehlszeilensyntax
  406. @endnode
  407.  
  408. @node "Die weitere Befehlszeilensyntax"
  409. @{B}@{"Die weitere Befehlszeilensyntax" ignore} @{0}
  410. @line 1 75 0 0 7
  411.  
  412. /clipboard
  413. /mover
  414. /newwind
  415. /popup
  416. /thiswind
  417. /trash
  418.  
  419. Vordefinierte Namen
  420. @endnode
  421.  
  422. @node "/popup"
  423. @{B}@{"/popup <Zahl>[@x y] [Titel]" ignore} @{0}
  424. @line 1 75 0 0 7
  425.  
  426. Öffnet den durch die angegebene Zahl festgelegten Baum aus der MENU.MNU
  427.  
  428. · als Popup-Menue (default)
  429. · als neues Fenster, falls die Alternate Taste zum Zeitpunkt des Auslösens
  430.   der Methode gedrückt ist (analog zu /newwind, nur in diesem Fall wird
  431.   "@@x y" berücksichtigt, falls angegeben)
  432. · im Bezugsfenster, falls die Control Taste zum Zeitpunkt des
  433.   Auslösens der Methode gedrückt ist (analog zu /thiswind)
  434.  
  435. <Titel> wird, falls angegeben, ggfls als Fenstertitel verwendet
  436.  
  437. Beispiel:   EDITOR:     /popup 2 EDITOR
  438. @endnode
  439.  
  440. @node "/thiswind"
  441. @{B}@{"/thiswind <Zahl> [Titel]" ignore} @{0}
  442. @line 1 75 0 0 7
  443.  
  444. Wechselt das im Bezugsfenster angezeigte Menue durch den durch die
  445. angegebene Zahl festgelegten Baum aus; wurde die Methode duch einen
  446. Shortcut aktiviert, so ist das Bezugsfenster das oberste, ansonsten
  447. dasjenige, in das geklickt wurde.
  448.  
  449. <Titel> wird, falls angegeben, ggfls als Fenstertitel verwendet
  450.  
  451. Beispiel:   EDITOR:     /thiswind 2 EDITOR
  452. @endnode
  453.  
  454. @node "/newwind"
  455. @symbol a "@<X> <Y>" "Position zu öffnender Fenster"
  456. @{B}@{"/newwind <Zahl>[@x y] [Titel]" ignore} @{0}
  457. @line 1 75 0 0 7
  458.  
  459. Öffnet ein neues Fenster mit dem durch die angegebene Zahl festgelegten
  460. Baum.
  461.  
  462. <@@x y> legt ggfls. die zu benutzenden Fensterkoordinaten fest.
  463.  
  464. <Titel> wird, falls angegeben, ggfls als Fenstertitel verwendet
  465.  
  466. Beispiel:   EDITOR:     /newwind 2 EDITOR
  467.                 öffnet ein neues Fenster an Mausposition
  468.             EDITOR:     /newwind 2@0 400 EDITOR
  469.                 öffnet ein neues Fenster mit der linken oberen Ecke
  470.                 0, 400
  471. @endnode
  472.  
  473. @node "/trash"
  474. @{B}@{"/trash" ignore} @{0}
  475. @line 1 75 0 0 7
  476.  
  477. Definiert den (oder einen der ;-) Mülleimer; wird hier etwas drauf-
  478. gezogen, so weißt MENU den laufenden AV Server an, die betreffenden
  479. Objekte zu löschen.
  480.  
  481. Leider ist zu befürchten, daß Thing der einzige Desktop bleiben wird,
  482. der dieses Feature unterstützt, obwohl diese Protokoll-Erweiterung mit
  483. dem Gemini-Autoren abgesprochen und von ihnen "abgesegnet" wurde.
  484.  
  485. Beispiel:   Schrott:    /trash
  486. @endnode
  487.  
  488. @node "/clipboard"
  489. @{B}@{"/clipboard" ignore} @{0}
  490. @line 1 75 0 0 7
  491.  
  492. Definiert eine Art Klemmbrett, in dem die Namen aller dort drauf-
  493. gezogenen Dateien/Ordner gesammelt werden; dieses Klemmbrett kann
  494. per D&D anschließend auf ein anderes Objekt gelegt werden, MENU
  495. übergibt dann alle bis dahin gesammelten Dateien an das Zielobjekt.
  496.  
  497. Beispielzeile:      COL:        /clipboard
  498. @endnode
  499.  
  500. @node "/mover"
  501. @{B}@{"/mover" ignore} @{0}
  502. @line 1 75 0 0 7
  503.  
  504. Definiert ein Objekt, mit dem das zugehörige Fenster verschoben
  505. werden kann; nützlich ist dies im Zusammenhang mit "MENU.NoTitle",
  506. wenn das Fenster also keine Titelzeile besitzt und damit erstmal
  507. unbeweglich ist
  508.  
  509. Beispielzeile:      Griff:   /mover
  510. @endnode
  511.  
  512. @node "Vordefinierte Namen"
  513. @{B}@{"Vordefinierte Namen" ignore} @{0}
  514. @line 1 75 0 0 7
  515.  
  516. MENU.Default
  517. KEY
  518. MENU.<zahl>.<zahl>
  519. MENU.RSC (Syntax)
  520. MENU.NoTitle
  521. MENU.Clock
  522. MENU.Mem
  523. MENU.Time.<Stunde>.<Minute>
  524. @endnode
  525.  
  526. @node "MENU.Default"
  527. @{B}@{"MENU.Default" ignore} @{0}
  528. @line 1 75 0 0 7
  529.  
  530. Diese Methode wird, falls vorhanden, automatisch ausgewertet; ihr Wert
  531. gibt die Nummer des Baumes an, der im Hauptfenster dargestellt werden
  532. soll; ist MENU.Default nicht definiert, so wird der erste Baum aus
  533. MENU.RSC ausgewählt;
  534.  
  535. Dem Parameter <Zahl> kann optional ein für das Fenster zu verwendener
  536. Titel folgen.
  537.  
  538.  
  539. Beispielzeile:      MENU.Default:   2
  540. @endnode
  541.  
  542. @node "KEY"
  543. @{B}@{"KEY-..." ignore} @{0}
  544. @line 1 75 0 0 7
  545.  
  546. Dieser Präfix ist für Shortcuts reserviert und sollte auch nur zu diesem
  547. Zweck verwendet werden.
  548.  
  549. Beispielzeile:      KEY-C:      $CAT
  550. @endnode
  551.  
  552. @node "MENU.<zahl>.<zahl>"
  553. @{B}@{"MENU.<zahl>.<zahl>" ignore} @{0}
  554. @line 1 75 0 0 7
  555.  
  556. Solche Namen werden automatisch generiert, wenn ein Objekt ohne Namen
  557. ausgewählt wird; dabei ist die erste Zahl die Nummer des Baumes, in dem
  558. sich das Objekt befindet und die zweite Zahl ist die Nummer des gewählten
  559. Objektes (beide beginnend mit 0 gezählt!).
  560.  
  561. Beispiel:   "MENU.1.5" bezeichnet das Objekt Nummer 5 im ersten Baum
  562.             (man beachte, daß beginnend mit Null gezählt wird!)
  563. @endnode
  564.  
  565. @node "MENU.RSC (Syntax)"
  566. @{B}@{"MENU.RSC" ignore} @{0}
  567. @line 1 75 0 0 7
  568.  
  569. Legt den Namen der zu einer MNU-Datei gehörenden RSC-Datei fest; fehlt
  570. diese Zuordnung, so wird "MENU.RSC" als Dateiname verwendet.
  571. Der Name ist ohne Pfad anzugeben, ihm wir automatisch der Pfad der MNU
  572. Datei vorangestellt.
  573.  
  574. Beispiel:   MENU.RSC:   MEIN.RSC
  575. @endnode
  576.  
  577. @node "MENU.NoTitle"
  578. @{B}@{"MENU.NoTitle" ignore} @{0}
  579. @line 1 75 0 0 7
  580.  
  581. @{B}Syntax: MENU.NoTitle:@{0}
  582. Bewirkt, daß MENU alle Fenster ohne Titelzeile öffnet; der Vorteil ist die
  583. Platzersparnis und der Nachteil der Unbeweglichkeit kann durch das
  584. "/mover" Kommando wieder ausgeglichen werden. Außerdem ist in diesem
  585. Zusammenhang die "Top-Window-Lampe" interessant.
  586.  
  587.  
  588. @{B}Syntax: MENU.NoTitle.<#tree>@{0}
  589. Bewirkt, daß das Fenster, in dem der Baum Nummer '#tree' dargestellt wird,
  590. ohne Titelzeile geöffnet wird. Dadurch besteht die Möglichkeit, für jedes
  591. einzelne Fenster festzulegen, ob es einen Titel haben soll, oder nicht und
  592. dadurch beide Formen gemischt verwenden zu können.
  593.  
  594. Bei der Darstellung eines neuen Baumes im bereits geöffneten Fenster
  595. (/thiswind) hat MENU.NoTitle natürlich keine Wirkung.
  596.  
  597. Beispielzeilen:     MENU.NoTitle:
  598.                     MENU.NoTitle.0:
  599. @endnode
  600.  
  601. @node "MENU.Clock"
  602. @symbol ai "Analog-Uhr"
  603. @{B}@{"MENU.Clock" ignore}@{0}
  604. @line 1 75 0 0 7
  605.  
  606. Syntax: MENU.Clock:     <#tree> <#obj>
  607.  
  608. Initialisiert das Objekt, in dem die Analoguhr dargestellt werden soll.
  609. Dabei ist '#tree' die Nummer des Baumes, und '#obj' die Nummer des
  610. betreffenden Objektes.
  611. · Das Objekt darf beliebigen Types sein
  612. · Das Objekt zeichnet nur die Zeiger, daß Ziffernblatt muß also z.B. durch
  613.   ein ICON selber angefertigt und das Objekt darübergelegt werden
  614. · Die Uhr hat keinen Sekundenzeiger
  615. · Die Länge der Zeiger wird an die Breite des Objektes angepaßt
  616.  
  617. Beispielzeile:      MENU.Clock:     0 11
  618.  
  619. An dieser Stelle möchte ich mich nochmal bei Sven Kopacz für das
  620. Sourcecode Gerüst der Uhrzeiger-Routinen bedanken :-)
  621. @endnode
  622.  
  623.  
  624. @node "MENU.Time.<Stunde>.<Minute>"
  625. @symbol a "MENU.Time"
  626. @symbol ai "Zeitgesteuerte Ausführung"
  627. @{B}@{"MENU.Time.<Stunde>.<Minute>" ignore}@{0}
  628. @line 1 75 0 0 7
  629.  
  630. Ermöglicht das Zeitgesteuerte Ausführen von Kommandos. MENU erzeugt einmal
  631. pro Minute einen solchen Namen (z.B. "MENU.Time.18.0" um 18.00 Uhr) und
  632. schaut nach, ob dieses Pattern in der MNU Datei angegeben wurde; falls
  633. ja, wird die dort angegebene Aktion ausgeführt und es ertönt ein "Pling".
  634.  
  635. Dieses Feature ist unabhängig von MENU.Clock.
  636.  
  637. Beispiel:   MENU.Time.18.0:     $Terminal
  638.                 startet um 18.00 Uhr das Terminalprogramm
  639.  
  640. @endnode
  641.  
  642. @node "MENU.Mem"
  643. @symbol a Speicher
  644. @symbol ai "Freier Speicher"
  645. @{B}@{"MENU.Mem" ignore}@{0}
  646. @line 1 75 0 0 7
  647.  
  648. Syntax: MENU.Mem:   <#tree> <#obj>
  649.  
  650. Definiert das Objekt, in dem der freie Speicher dargestellt werden soll.
  651. Dieses Objekt muß vom Typ
  652.     G_BUTTON, G_STRING, G_BOXTEXT oder G_TEXT
  653. sein, sonst wird es nicht anerkannt. Außerdem muß der an diesem Objekt
  654. hängende String ausreichend Platz für den von MENU eingetragenen String
  655. bieten, sollte also z.B. mit "123456" vorbelegt werden.
  656. MENU trägt in dieses Objekt in regelmäßigen Abständen den freien Speicher
  657. (genauer: die Summe aus dem größten freien ST- und TT-Ram Speicherblock)
  658. in Kilobytes (1024 Bytes) ein.
  659. @endnode
  660.  
  661. @node "Beispieldatei" "Beispiel für eine "MENU.MNU"-Datei
  662. @{B}@{"Beispiel für eine MENU.MNU-Datei" ignore} @{0}
  663. @line 1 75 0 0 7
  664.  
  665. KEY-N:      $NOTICE
  666. KEY-C:      $CAT
  667. KEY-T:      $CONNECT
  668. KEY-L:      $PROGLIST
  669. KEY-X:      $XXED
  670. KEY-A:      $ACE
  671. KEY-S:      $ST-GUIDE
  672. KEY-M:      $MsgCheck
  673. KEY-P:      $PACSHELL
  674. KEY-R:      $Copy->Ram
  675. KEY-Z:      $Z-Calc
  676. KEY-C-E:    /newwind 2
  677. KEY-C-V:    /newwind 3
  678. --------------------------------------------------
  679. INFO:       C:\AUTO\APPS\MENU.MNU
  680. COL:        /clipboard
  681. --------------------------------------------------
  682. DFÜ:        /popup 1 DFÜ
  683. CAT:        F:\DFUE\CAT\CAT.PRG
  684. CATPUTZ:    F:\DFUE\CAT\CATPUTZ.PRG
  685. CON:        G:\UTILITIS\T_CON\T-CON.APP
  686. CONNECT:    F:\CONNECT\CONNECT.PRG
  687. DIALLER:    D:\DIALLER\DIALLER.PRG
  688. DOMESTOS:   D:\DOMESTOS\DOMESTOS.PRG
  689. PACSHELL:   J:\PACSHELL\PACSHELL.PRG
  690. BINGO:      F:\DFUE\CAT\BINGO211.PRG
  691. CATLICK:    D:\CATLICK\CATLICK.PRG
  692. T-OFFICE:   E:\OFFICE\T_OFFICE.PRG
  693. PROGLIST:   J:\PROGLIST\PROGLIST.PRG
  694. BTX:        J:\BTX\BTXP.PRG
  695. ZUUL:       G:\UTILITIS\ZUUL\ZUUL.APP
  696. --------------------------------------------------
  697. VIEWER:     /popup 3 VIEWER
  698. 1ST-GUIDE:  G:\UTILITIS\1STGUIDE\1STGUIDE.APP
  699. ZEIGSMIR:   G:\UTILITIS\ZEIGSMIR\ZEIGSMIR.PRG
  700. --------------------------------------------------
  701. EDITOR:     /popup 2 EDITOR
  702. NOTICE:     C:\DESKTOP\ACC\NOTICE.ACC
  703. INTERFACE:  E:\INTERFAC\INTRFACE.PRG
  704. GDOS-FONT:  G:\UTILITIS\GFONT\GDOSFONT.PRG
  705. PAPILLON:   E:\PAPILLON\PAPILLON.PRG
  706. 7UP:        G:\7UP\7UP.APP
  707. --------------------------------------------------
  708. TOOLS:      /popup 4 TOOLS
  709. 1ST-GUIDE:  G:\UTILITIS\1STGUIDE\1STGUIDE.APP
  710. BOOTSIE:    G:\UTILITIS\BOOTSIE\BOOTSIE.PRG
  711. RECHNER:    G:\UTILITIS\PROCALC.PRG
  712. DISKCAKE:   G:\UTILITIS\DISKCAKE\DISKCAKE.PRG
  713. DISKUS:     G:\UTILITIS\DISKUS\DISKUS.APP
  714. D&D-FONT:   G:\UTILITIS\FONT_SEL.PRG
  715. GEMVIEW:    E:\GEMVIEW\GEMVIEW.APP
  716. HEX-EDITOR: G:\UTILITIS\HEX_EDIT\HEX_EDIT.PRG
  717. KOBOLD:     G:\UTILITIS\KOBOLD_3\KOBOLD_3.PRG
  718. NOTICE-PATCH:   G:\UTILITIS\NOTICE\NOTPATCH.PRG
  719. PMG:        G:\UTILITIS\PMANAGER\PMANAGER.APP
  720. QUANTOS-SET:    G:\UTILITIS\QUANTSET.PRG
  721. SCSI-TOOLS: G:\UTILITIS\SCSITOOL.610\SCSITOOL.APP
  722. SHAURI:     G:\UTILITIS\SHAURI\SHAURI.APP
  723. SNAPPER:    G:\UTILITIS\SNAPPER\SNAPPER.APP
  724. SYSTEMCHECK:    G:\UTILITIS\SYS-INFO\SYSINFO.APP
  725. TERMITE:    D:\TERMITE\THUEGEL.PRG
  726. X-SPLIT:    G:\UTILITIS\X_SPLITT.2_0\SPLITTER.PRG
  727. Z-CALC:     G:\UTILITIS\ZCALC\Z-CALC.PRG
  728. --------------------------------------------------
  729. ORDNER:     /popup 5 ORDNER
  730. DOWNLOAD:   J:\DOWNLOAD\
  731. UPLOAD:     J:\UPLOAD\
  732. PROGRAMME:  J:\PROGRAMS\
  733. PROJEKTE:   D:\ST-GUIDE\PROJEKTE\
  734. --------------------------------------------------
  735. @endnode
  736.  
  737. @node "Was sollte man sonst noch wissen?"
  738. @{B}@{"Was sollte man sonst noch wissen?" ignore} @{0}
  739. @line 1 75 0 0 7
  740.  
  741. Die Datei darf natürlich auch Zeilen ohne Zuordnung enthalten, z.B.
  742. solche bestehend aus lauter '-' Zeichen, um verschiedene Gruppen
  743. optisch voneinander zu trennen und die Datei damit übersichtlicher zu
  744. machen.
  745.  
  746. Aktuell darf die Datei keine Leerzeilen enthalten, wenn nur NL als
  747. Zeilentrenner verwendet wird; benutzt der verwendete Editor hingegen
  748. CR/NL als Zeilentrenner, so sind Leerzeilen erlaubt.
  749. @endnode
  750.  
  751. @node "Die Popup Menues"
  752. @{B}@{"Die Popup Menues" ignore} @{0}
  753. @line 1 75 0 0 7
  754. @alias "Popup"
  755.  
  756. Etwas technisches vorweg: MENU verwendet die in MagiC bzw. MTOS
  757. enthaltenen Funktionen zum Behandeln von Popup-Menues, Anfragen wegen
  758. Tastaturbedienbarkeit, Problemen etc. sind also zwecklos.
  759.  
  760. Die Popups von MENU sind frei gestaltbar und können quasi beliebig
  761. tief geschachtelt werden.
  762.  
  763. Die Zuordnung eines Popups an ein Objekt erfolgt über den Namen des
  764. Objektes, also den enthaltenen String; dieser wird in der MENU.MNU gesucht
  765. und das dort angegebene Kommando wird ausgeführt; ist es von der Form
  766. "/popup <Nummer>", so wird <Nummer> als Index des gewünschten Baumes in
  767. der MENU.RSC (gezählt wird beginnend mit Null!) interpretiert, und dieser
  768. wird als Popup dargestellt und ausgewertet. Wird ein Objekt ausgewählt, so
  769. beginnt das Spiel von vorne, es wird also erneut dessen Name in der
  770. MENU.MNU gesucht usw., wodurch u.a. eben auch eine geschachtelte
  771. Menu-Struktur hergestellt werden kann.
  772.  
  773. Die Ausrichtung der Popups
  774. @endnode
  775.  
  776. @node "Die Ausrichtung der Popups"
  777. @symbol a Ausrichtung
  778. @{B}@{"Wohin soll's denn gehen?" ignore} @{0}
  779. @line 1 75 0 0 7
  780.  
  781. Normalerweise klappen die Popups direkt an der Mausposition auf. Da dieses
  782. Verhalten evt. nicht immer erwünscht ist, kann für jedes Popup-Öffnende
  783. Objekt festgelegt werden, an welchem Rand Popup und Objekt sich berühren
  784. sollen; Dies geschieht über den erweiterten Typ des Objektes, der
  785. normalerweise 0 ist und sich mit jedem ordentlichen RSC-Editor einstellen
  786. läßt. Die Richtungen sind im Uhrzeigersinn durchnummeriert:
  787.     1: Popup öffnet sich nach oben
  788.     2: Popup öffnet sich nach rechts
  789.     3: Popup öffnet sich nach unten
  790.     4: Popup öffnet sich nach links
  791.  
  792.     0: Popup öffnet sich direkt an der Mausposition
  793. @endnode
  794.  
  795.  
  796. @node "Drag&Drop" "Herr Ober, bitte nehmen Sie mir meine Jacke ab!"
  797. @{B}@{"Herr Ober, bitte nehmen Sie mir meine Jacke ab!" ignore} @{0}
  798. @line 1 75 0 0 7
  799.  
  800. @{B}MENU unterstützt Drag&Drop per AV-Protokoll auf folgende Objekte:@{0}
  801.  
  802. @{U}Fensterrahmen & Hintergrund@{u}
  803. In diesem Fall sollte nur ein Objekt gedropped werden, und dieses
  804. wird direkt an den Server weitergegeben und vom diesem an die dafür
  805. angemeldete Applikation.
  806.  
  807. @{U}Ordner und Laufwerke (abgeschlossen durch einen Backslash)@{u}
  808. Die gedragged'ten Dateien/Ordner werden vom Server in das Zielobjekt
  809. kopiert.
  810.  
  811. @{U}Dateien@{u}
  812. Das Zielobjekt wird gestartet und bekommt die gedragged'ten Objekte
  813. als Parameter übergeben.
  814.  
  815. @{U}Mülleimer@{u}
  816. Der AV Server wird angewiesen, die betreffenden Objekte zu löschen;
  817. aktuell wird dies nur vom Desktop Thing unterstützt.
  818.  
  819. @{U}Popups oder Fenster öffnende Objekte@{u}
  820. MENU öffnet den betreffenden Baum als Popup und das darin ausgewählte
  821. Objekt bekommt die gedragged'ten Objekte.
  822.  
  823. @{U}Das "Klemmbrett"@{u}
  824. Die gedragged'ten Objekte werden zur späteren Weiterverwendung aufbe-
  825. wahrt; ein Objekt dieses Typs kann selber per D&D genutzt werden, es
  826. gibt dann die in ihm gesammelten Objekte an das D&D-Ziel weiter.
  827. @endnode
  828.  
  829. @node "MENU.RSC" "Sie können heute zwischen mehreren Tagesmenüs wählen!"
  830. @{B}@{"Sie können heute zwischen mehreren Tagesmenüs wählen!" ignore} @{0}
  831. @line 1 75 0 0 7
  832.  
  833. Die Zusammenstellung der MENU.RSC ist nicht ganz einfach. Deswegen
  834. haben wir die Speisekarte ... ähem, ich meine natürlich die Anleitung
  835. an dieser Stelle einmal zweigeteilt:
  836.  
  837. Einmal den Expertenteil, für Menschen oder andere Anwender, die
  838. bereits häufig mit RSC-Editoren gearbeitet haben. Sollten Ihnen also
  839. Begriffe wie Bäume, Objekte, Strings, Buttons oder G_USERDEF ihnen
  840. vorkommen wie gute alte Bekannte, dann wählen Sie die Expertenseite.
  841.  
  842. Falls Sie schon jetzt der Meinung sind, daß MENU eigentlich doch eher
  843. etwas ist, womit Sie sich mal beschäftigen sollten, wenn Sie die Rente
  844. durch haben, dann sind Sie ein Angehöriger der Zielgruppe "Neu-Resourcler",
  845. denen wir an dieser Stelle eine umfangreiche bebilderte Anleitung
  846. beilegen. Wir möchten Sie nur bitten, diese Seiten nicht abends vor
  847. dem Schlafengehen ihren Kinder vorzulesen (2), denn diese Anleitung
  848. ist so einfach gehalten, daß ihre Kinder fortan nichts anderes mehr
  849. machen würden, als RSC-Dateien für MENU zu erstellen und Sie wären
  850. Ihren Rechner los ... (3).
  851.  
  852. @{"Anleitung für Neu-Resourcler" link DAU}
  853. @endnode
  854.  
  855. @pnode "(2)"
  856. ... auch wenn Sie noch so begeistert von
  857. dieser Anleitung sind ...
  858. @endnode
  859.  
  860. @pnode "(3)"
  861. ... und das wollen wir doch vermeiden, oder?
  862. Nehmen Sie lieber ein gutes Kinderbuch, z.B.
  863. "Hannes Strohkopp" von Janosch oder "Jim Knopf"
  864. von Michael Ende.
  865. @endnode
  866.  
  867. @node "Expertenseite"
  868. @{B}@{"Expertenseite" ignore} @{0}
  869. @line 1 75 0 0 7
  870.  
  871. In dieser Datei wird das gesamte Outfit von MENU festgelegt; Dateien
  872. vom Typ RSC lassen sich z.B. mit Interface, ORCS, RCS, NRSC, WERCS
  873. und ähnlichen Programmen bearbeiten.
  874.  
  875. Der Aufbau dieser Datei muß folgenden Regeln genügen:
  876.  
  877.  · Der erste Baum wird im Fenster von MENU angezeigt und sollte daher
  878.    Objekte für die einzelnen Gruppen enthalten (durch Setzen von
  879.    <MENU-Default> kann dies geändert werden)
  880.  
  881.  · Die Objekte in den Bäumen dürfen jeden Typ besitzen (außer G_USERDEF)
  882.    und können beliebig angeordnet werden, z.B. nebeneinander oder
  883.    übereinander, aber auch in Gruppen
  884.  
  885.  · Alle Objekte, die auswählbar sein sollen, müssen das Flag SELECTABLE
  886.    gesetzt haben, andersherum kann man sich dadurch nicht auswählbare
  887.    Objekte in die Bäume zaubern, z.B. als Überschrift oder als Trenner
  888.    zwischen verschiedenen Gruppen
  889.  
  890.  · Selektierbare Objekte sollten einen Typ haben, der einen String
  891.    aufnehmen kannen, also
  892.    - G_ICON, G_CICON
  893.    - G_STRING, G_BUTTON, G_TITLE
  894.    - G_TEXT, G_FTEXT, G_BOXTEXT, G_FBOXTEXT
  895.    Bei Auswahl eines Objektes wird dessen String in der Datei MENU.MNU
  896.    gesucht, und das dort angegebene Kommando ausgeführt;
  897.    Falls das gewählte Objekt keinen Namen hat, so bildet MENU selbst einen
  898.    mit folgendem Aufbau: 'MENU.<#tree>.<#object>'
  899.    Hierdurch ist es möglich, wirklich alle Objekt-Typen mit Aktionen zu
  900.    belegen und z.B. auch Icons ohne Textfahne zu verwenden
  901.  
  902.  · Der Name dieser Datei ist übrigens nicht fest vorgegeben, vielmehr
  903.    kann das zu ladene RSC-File in der zugehörigen MNU-Datei angegeben
  904.    werden.
  905. @endnode
  906.  
  907. @node DAU "Anleitung für Neu-Resourcler"
  908. @{B}@{"Anleitung für Neu-Resourcler" ignore} @{0}
  909. @line 1 75 0 0 7
  910.  
  911. So, dann kann es jetzt mal losgehen. Haben Sie keine Angst, wir machen
  912. das ganz langsam und bedächtig.
  913.  
  914. Was brauchen wir denn nun?
  915.  
  916. Einen RSC-Editor haben Sie wahrscheinlich nicht, denn sonst würden Sie
  917. diese Seite hier vermutlich gar nicht lesen.
  918.  
  919. So einen brauchen Sie aber, um eine RSC-Datei für MENU herzustellen.
  920. Empfehlen können wir an dieser Stelle stellvertretend zwei Produkte:
  921.  
  922. Als kommerzielles Produkt Interface, und als preiswerte Alternative
  923. das Shareware-Programm ORCS. (6) Beide Produkte sind bestens geeignet,
  924. diese Aufgabe zu bewältigen.
  925.  
  926. Eine RSC-Datei
  927. @endnode
  928.  
  929. @pnode "(6)"
  930. Da ORCS erstmal für jeden ohne finanziellen Aufwand
  931. zu erhalten ist, werden wir in dieser Anleitung mit
  932. diesem Programm arbeiten und uns darauf beziehen.
  933. Wenn jemand mit Interface arbeiten sollte, ist das
  934. aber nicht weiter tragisch, beide Programme sind sich
  935. sehr ähnlich von der Bedienerführung.
  936. @endnode
  937.  
  938. @node "Eine RSC-Datei" "RSC-Datei? Wofür is'n  dat gut?"
  939. @{B}@{"RSC-Datei? Wofür is'n  dat gut?" ignore} @{0}
  940. @line 1 75 0 0 7
  941.  
  942. Sicherlich haben Sie sich schon häufig gefragt, wozu diese Dateien da
  943. sind, die immer bei irgendwelchen Programmen beiliegen und die immer
  944. mit *.RSC enden (4)
  945.  
  946. In diesen RSC-Dateien sind (u.a.) all die schönen Fensterchen,
  947. Dialoge und Boxen enthalten, mit denen so ein Programm arbeitet.
  948.  
  949. Und genau so eine Datei legen wir jetzt mal
  950.  
  951. Step by Step (5)
  952.  
  953. für MENU an.
  954.  
  955. @endnode
  956.  
  957. @pnode "(4)"
  958. ... und wenn sie mal nicht da ist, dann meckert
  959. das Programm auch schon "RSC-Datei nicht gefunden"
  960. und verweigert seine Mitarbeit.
  961. @endnode
  962.  
  963. @pnode "(5)"
  964. Auch, wenn es sich so anhört:
  965. Das wird jetzt kein Stepkurs, sondern eine
  966. Schritt-für-Schritt-Anleitung.
  967. Übrigens kennen Sie die Enterprise-Folge,
  968. in der Data bei Dr. Crusher steppen lernt?
  969. Köstlich ... ;-)
  970. @endnode
  971.  
  972. @node "Interface"
  973. @{B}@{"Interface" ignore} @{0}
  974. @line 1 75 0 0 7
  975.  
  976.  Programm: Interface
  977.  
  978.   Version: 2.3
  979.  
  980. Autor(en): Olaf Meisiek
  981.  Vertrieb: Team Computer GmbH
  982.  
  983.       Typ: Programmier-Tool
  984. Copyright: Kommerziell
  985.  
  986.  Hardware: +MagicMac?
  987.  
  988.  
  989. Ein RCS der Extraklasse, unterstützt Farbicons, 3D-Darstellung
  990. u.v.m. Incl. eigener Dialoglibrary MyDials.
  991. @endnode
  992.  
  993. @node "ORCS"
  994. @{B}@{"ORCS" ignore} @{0}
  995. @line 1 75 0 0 7
  996.  
  997.            OOOO     RRRRR     CCCC    SSSS
  998.           O    O    R    R   C    C  S    S
  999.           O    O    R    R   C       S
  1000.           O    O    RRRRR    C        SSSS
  1001.           O    O    R   R    C            S
  1002.           O    O    R    R   C    C  S    S
  1003.            OOOO     R    R    CCCC    SSSS
  1004.  
  1005.  
  1006.           Otto's Resource Construction Set
  1007.  
  1008.                    Version 1.00
  1009.                        vom
  1010.                     10.10.1991
  1011.  
  1012.  
  1013. Kritik, Lob, Verbesserungsvorschläge, Bug-Reports etc. an
  1014.  
  1015.    Thorsten Otto
  1016.    Katharinenstr. 14
  1017.    4300 Essen 1
  1018.  
  1019.    Bankverbindung:
  1020.    Stadtsparkasse Essen
  1021.    BLZ 360 501 05
  1022.    Kto. 8366734
  1023. @endnode
  1024.  
  1025. @pnode "(7)"
  1026. Jetzt aber wirklich
  1027. @endnode
  1028.  
  1029. @pnode "(8)"
  1030. Unter MagiC ist es ratsam, ORCS im
  1031. Single-Modus zu starten.
  1032. @endnode
  1033.  
  1034. @pnode "(9)"
  1035. Sieht doch gleich viel gemütlicher
  1036. aus, oder ...
  1037. @endnode
  1038.  
  1039. @node "Step by Step"
  1040. @{B}@{"Step by Step" ignore} @{0}
  1041. @line 1 75 0 0 7
  1042.  
  1043. Wenn Sie sich bereits gewundert haben sollten, daß hier keine
  1044. Hardcopies vom Programm MENU erscheinen, dann hat das einen ziemlich
  1045. einfachen Grund:
  1046.  
  1047. @{B}Sie alleine entscheiden letztendlich, wie ihr MENU aussieht!@{0}
  1048.  
  1049. Und wie das geht, erfahren Sie jetzt (7). Da das ganze eine Art Kursus
  1050. sein soll, verzichte ich mal auf eine Inhaltsangabe, damit Sie auch
  1051. alles lesen ... am Ende des Kapitel gibt's immer den Verweis auf die
  1052. nächste Seite.
  1053.  
  1054. Nachdem Sie ORCS gestartet haben,(8) finden Sie dort eine Menge
  1055. unnützer Icons auf dem Desktop. Bis auf die Laufwerkssymbole
  1056. können Sie erstmal alle auf den Mülleimer ziehen und verschwinden
  1057. lassen. (9)
  1058.  
  1059. Nun gehen Sie in das Menü DATEI und wählen den Menüpunkt "Neu..."
  1060. mit einem Mausklick an. Sie geben in der nun erscheinenden Dialogbox
  1061. nun den Namen Ihres ersten RSC-Files an. Da es für MENU gedacht ist,
  1062. wählen Sie den Namen MENU.RSC.
  1063.  
  1064. Anschließend finden Sie auf dem Desktop ein neues Icon, daß genau
  1065. diesen Namen trägt.
  1066.  
  1067. @limage NEWICON.IMG 1 0 0
  1068.  
  1069. Und watt jetzt?!
  1070. @endnode
  1071.  
  1072. @node "Und watt jetzt?!"
  1073. @{B}@{"Und watt jetzt?!" ignore} @{0}
  1074. @line 1 75 0 0 7
  1075.  
  1076. Machen Sie nun einen Doppelklick auf dieses Icon und es erscheint
  1077. ein neues Fenster, daß ungefähr so aussieht:
  1078.  
  1079. @limage BEARBEIT.IMG 1 0 0
  1080.  
  1081. Darin befinden sich weitere Icons, diese werden uns nun beschäftigen.
  1082.  
  1083. Jetzt geht's erstmal richtig los!
  1084. @endnode
  1085.  
  1086. @pnode "(10)"
  1087. Experimentieren Sie ruhig ein wenig mit
  1088. den Effekten herum, damit Sie ein Gefühl
  1089. dafür bekommen, was möglich ist.
  1090. Wir erstellen jetzt nur eine von unzähligen
  1091. Möglichkeiten, wie MENU aussehen könnte und
  1092. vielleicht haben Sie ja eine ganz andere
  1093. Vorstellung davon als ich ... :-))
  1094. @endnode
  1095.  
  1096. @node "Jetzt geht's erstmal richtig los!"
  1097. @{B}@{"Jetzt geht's erstmal richtig los!" ignore} @{0}
  1098. @line 1 75 0 0 7
  1099.  
  1100. Klicken Sie nun auf das erste Icon in der oberen Reihe (das, wo "Dialog"
  1101. druntersteht) und wählen Sie in der nun erscheinenden Box die Option
  1102. "Dialog" aus. Sie tragen nun in die Eingabezeile "FORM1" ein.
  1103. Anschließend haben sie in dem unteren Teil ein Icon vor sich, das mit
  1104. "FORM1" betitelt ist. Machen Sie einen Doppelklick auf dieses Icon, und
  1105. wir sind endlich da, wo wir hinwollen. Sie haben jetzt einen Kasten vor
  1106. sich, der einen doppelten Rand hat. Da dieses aber nicht das Erscheinungs-
  1107. bild unseres späteren MENU sein soll, wollen wir ihm ein etwas schöneres
  1108. Aussehen verpassen:
  1109. Klicken Sie einmal in den Kasten hinen und wählen Sie in dem dann
  1110. erscheinenden Popup "ändern" an. Dann deselektieren Sie "Outlined" und
  1111. klicken auf "Shadowed" (10).
  1112. Jetzt wollen wir das ganze noch in der Größe anpassen:
  1113. Klicken Sie in die rechte untere Ecke des Kastens (da wo der Cursor ist)
  1114. und passen Sie das Fenster bei gedrückter Maustaste so an, daß es ungefähr
  1115. so aussieht wie hier:
  1116.  
  1117. @limage KASTEN.IMG 1 0 0
  1118.  
  1119. Na toll, und was soll ich jetzt machen?
  1120. @endnode
  1121.  
  1122. @node "Na toll, und was soll ich jetzt machen?"
  1123. @{B}@{"Na toll, und was soll ich jetzt machen?" ignore} @{0}
  1124. @line 1 75 0 0 7
  1125.  
  1126. So, jetzt nehmen Sie einmal mehrere Buttons und plazieren Sie in dem
  1127. Kasten. Dazu klicken Sie einmal darauf und ziehen dann den Button in den
  1128. unteren Fensterteil. Anschließend machen Sie einen Doppelklick auf das
  1129. Icon und teilen ihm unter "Boxtext" die Namen zu, die sie auf der Hardcopy
  1130. sehen. Den Namen können Sie einfach immer leer lassen, da interessiert
  1131. sich MENU ohnehin nicht für.
  1132. Im oberen Teil machen Sie einen Doppelklick auf "Selectable". Für die
  1133. Buttons im unteren Teil wählen Sie zusätzlich "Shadowed".
  1134. Die Größenanpassung der Buttons können Sie so vornehmen wie eben bei dem
  1135. großen Kasten. Anschließend sollte das so aussehen wie unten:
  1136.  
  1137. @limage example.img 1 0 0
  1138.  
  1139. Und wie geht's dann weiter?
  1140. @endnode
  1141.  
  1142. @node "Und wie geht's dann weiter?"
  1143. @{B}@{"Und wie geht's dann weiter?" ignore} @{0}
  1144. @line 1 75 0 0 7
  1145.  
  1146. Legen Sie nun so, wie eben beschrieben, weitere FORM-Icons in das untere
  1147. Fenster, und zwar insgesamt vier Stück.
  1148. Betiteln Sie sie fortlaufend (FORM2-FORM5).
  1149.  
  1150. Gehen sie im Prinzip so vor, wie oben beschrieben.
  1151.  
  1152. Wählen Sie jetzt für die Kästen nicht Shadowed, sondern  gar keine
  1153. Option an. Sie erhalten dann einen ganz normalen Kasten.
  1154. In diese Kästen tragen Sie nun Ihre Programme (den einzelnen Gruppen
  1155. entsprechend) ein.
  1156.  
  1157. Für die Eintragungen wählen Sie nun anstatt "Buttons" "String"-Objekte
  1158. und ziehen sie in den unteren Fensterteil.
  1159. Vergessen Sie aber nicht, jedem String die Option "Selectable" mit auf
  1160. den Weg zu geben, sonst funktioniert nachher die Anwahl des
  1161. entsprechenden Programmes nicht.
  1162.  
  1163. Letztendlich ist es wahrscheinlich einfacher zu sehen, was ich meine,
  1164. das Ergebnis sollte sich so präsentieren:
  1165.  
  1166. @limage WEITERE.IMG 1 0 0
  1167.  
  1168. Anschließend können Sie unter ORCS den Menüpunkt "... sichern" anwählen
  1169. und ihre MENU.RSC abspeichern.
  1170.  
  1171. Was jetzt noch zu tun bleibt ist das Erstellen der MENU.MNU, damit
  1172. MENU weiß, welche Programme wo zu finden sind, wenn sie gestartet
  1173. werden sollen.
  1174.  
  1175. Der grundsätzliche Aufbau einer MENU.MNU
  1176. @endnode
  1177.  
  1178. @node "Parameterzeilen-Expandierung"
  1179. @{B}Parameterzeilen-Expandierung@{0}
  1180. @line 1 75 0 0 7
  1181.  
  1182. Wird einem Programm eine Parameterzeile nachgestellt, so überprüft MENU
  1183. diese auf Expandierungsvariablen.
  1184.  
  1185. Wird das Programm direkt ausgewählt, so wird die Kommandozeile ignoriert,
  1186. sofern sie solche Variablen enthält; wird das Programm allerdings durch
  1187. Drag&Drop gestartet, sollen ihm also die gedropped'ten Dateien übergeben
  1188. werden, so kann die Kommandozeile folgendermaßen spezifiziert werden:
  1189.     $f: hier werden alle übergebenen Dateien eingesetzt
  1190.     $p: hier wird der Pfad der ersten übergebenen Datei eingesetzt
  1191.     $n: hier wird der Name (ohne Pfad und Endung) der ersten über-
  1192.         gebenen Datei eingesetzt
  1193.     $s: hier wird die Endung der ersten übergebenen Datei eingesetzt
  1194.     $$: steht für das '$' Zeichen selbst
  1195.  
  1196. @{B}Beispiele:@{0}
  1197.  *      "HYP recompilieren: $'HCP' -r -oM:\$n.stg $p$n$s"
  1198.     wird bei D&D der Datei "C:\GUIDES\MENU.HYP" auf das entsprechende
  1199.     Objekt expandiert zu
  1200.         ($'HCP')                     ($n)     ($p$n$s)
  1201.         D:\HYPER\HCP\HCP.TTP -r -oM:\MENU.stg C:\GUIDES\MENU.HYP
  1202.  
  1203.  *      "Statistik: $'GAWK' -f stat.awk $f"
  1204.     wird alle auf das Objekt gezogenen Dateien hinten an den festen Teil
  1205.     der Parameterzeile anhängen; auf diese Weise bekommt man auch die
  1206.     direkt vom Desktop aus nur schwer zur Mitarbeit zu überredenen Tools
  1207.     leicht in den Griff :-)
  1208. @endnode
  1209.  
  1210. @node "Top-Window-Lampe"
  1211. @{B}Top-Window-Lampe@{0}
  1212. @line 1 75 0 0 7
  1213.  
  1214. Immer wenn ein hintenliegendes MENU-Fenster nach vorne oder ein
  1215. vorne liegendes nach hinten gebracht wird, prüft MENU bei diesen
  1216. Fenstern, ob sie ein Objekt mit dem Flag <RBUTTON> enthalten; ist dem
  1217. so, dann wird dieses Objekt selektiert, falls das betreffende Fenster
  1218. jetzt vorne liegt und deselektiert sonst.
  1219.  
  1220. Sinn und Zweck dieser "Lampe" ist natürlich das Kenntlichmachen des
  1221. obersten Fensters, damit man jeweils sehen kann, welche Applikation die
  1222. gedrückten Tasten bekommt.
  1223.  
  1224. In der beiliegenden MENU.RSC ist dieses Feature im ersten Baum (dem
  1225. Hauptfenster) vorgeführt.
  1226.  
  1227. Technisch realisiert wurde dieses Feature anhand der vom System ver-
  1228. schickten Nachrichten TOPPED, ONTOP, NEWTOP, UNTOPPED, BOTTOMED; unter
  1229. MagiC ist diese Methode absolut verlässlich, ob sie auch unter MTOS
  1230. funktioniert, kann ich nicht sagen, dokumentiert ist es jedenfalls...
  1231. @endnode
  1232.  
  1233. @node Update-History
  1234. @{B}Update-History@{0}
  1235. @line 1 75 0 0 7
  1236.  
  1237. @{U}1.00 -> 1.01@{0}
  1238. - '$' Ersetzung erweitert: es wird nicht mehr der ganze Rest der Zeile
  1239.   als Name angenommen, wenn direkt hinter dem '$' ein "'" steht;
  1240. + Die Ausrichtung der Popups kann jetzt für jedes öffnende Objekt einzeln
  1241.   festgelegt werden (nach links, recht, oben, unten oder an Mausposition)
  1242. - Parameterzeilen-Expandierung dokumentiert
  1243. - "Top-Window-Lampe" dokumentiert
  1244. - diverse Workarounds für Fehler in Gemini eingebaut
  1245. + Möglichkeit der Darstellung einer Analog-Uhr eingebaut
  1246. + der freie Speicher kann jetzt dargestellt werden
  1247. + Zeitgesteuerte Ausführung von Kommandos eingebaut
  1248. - für jedes Fenster einzeln angebbar, ob es mit oder ohne Titelzeile
  1249.   erscheint (MENU.NoTitle)
  1250. + durch Angabe von "@<X> <Y>" hinter der Treenummer kann jetzt bei neu
  1251.   zu öffnenden Fenstern angegeben werden, an welcher Position sie er-
  1252.   scheinen sollen (Beispiel "/newwind 2@0 400 Editoren")
  1253. - keine Probleme mehr mit "zu spät" gestarteten AV Servern
  1254.  
  1255. Die mit einem '+' gekennzeichneten Features sind nur Spendern zugänglich
  1256. @endnode
  1257.  
  1258.  
  1259. @node "Danke"
  1260. @{B}Danksagung@{0}
  1261. @line 1 75 0 0 7
  1262.  
  1263. Mein Dank gebührt vor allem Rainer Wiesenfeller, der aus meinen wirren
  1264. Notizen diese Dokumentation gezaubert hat, insbesondere die Schritt für
  1265. Schritt Anleitung zur Erstellung eines RSC-Files hätte ich sicher nicht
  1266. so schön hinbekommen.
  1267.  
  1268. Mein Dank gebührt außerdem meinen Betatestern:
  1269.     Sven "Firlefanz" Kopacz,
  1270.     Carsten "bekommt-alles-kaput" Schäfer,
  1271.     Ulli "ich-will-aber-Farbicons" Hahndorf und
  1272.     Volker Burggräf
  1273. ohne die MENU vermutlich viel mehr Fehler hätte.
  1274.  
  1275. @endnode
  1276.  
  1277.  
  1278.  
  1279.  
  1280.